package com.chris.core.socket.netty.dto;

/**
 * socket 传递参数 - 类型
 */
public enum SocketParameterEnum {
    //-------------------标准数据格式--------------------
    /**
     * 二进制文本
     */
    ByteType(0),
    /**
     * 文本(utf-8)
     */
    StringType(1),
    IntType(2),
    LongType(3),
    FloatType(4),
    DoubleType(5),
    //-------------------前端自定义字段数据格式---------------------
    TagType1(601),
    TagType2(602),
    TagType3(603),
    TagType4(604),
    TagType5(605),
    TagType6(606),
    TagType7(607),
    TagType8(608),
    TagType9(609),
    TagType10(610),
    //-------------------系统定义数据格式---------------------
    /**
     * xml(文本utf-8)
     */
    XmlType(960),
    /**
     * json(文本utf-8)
     */
    JsonType(970),
    /**
     * 系统命令(文本utf-8)
     */
    SystemCmdType(980),
    /**
     * 系统命令(object->CmdMessageProtocol)
     */
    SystemCmdObjectType(985),
    /**
     * 文件字节码（object->FileMessageProtocol）
     */
    FileObjectType(990),
    /**
     * 对象
     */
    ObjectType(999);

    private int code;

    SocketParameterEnum(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }


    /**
     * 获取枚举
     *
     * @param code
     * @return
     */
    public static SocketParameterEnum get(int code) {
        for (SocketParameterEnum sp : SocketParameterEnum.values()) {
            if (sp.getCode() == code) {
                return sp;
            }
        }
        return null;
    }
}
